package basic.kotlin.function

/**
 * 分支表达式 if 、when
 */
private const val USERNAME = "kotlin"
private const val PASSWORD = "123"

private const val ADMIN_USER = "admin"
private const val ADMIN_PASSWD = "admin"

private const val DEBUG = 1
private const val USER = 0

fun main(args: Array<String>) {

    val x = 5
    when(x){ // 只会执行其中的一个
        is Int -> println("Hello $x")  // 判断 是否是int类型
        in 1..100 -> println("$x is in 1..100") // 判断是否是在区间中
        !in 1..100 -> println("$x is not in 1..100") // 判断是否是不在区间中
        args[0].toInt() -> println("x == args[0]") // x 和当前表达式是否一样
    }

    // 相当于if else
    val wh = when{
        args.isNotEmpty() && args[0] == "1"
        -> 1
        else -> 0
    }

    println(wh)

    // if表达式 带返回值
    val mode = if(args.isNotEmpty() && args[0] == "1"){
        DEBUG
    }else{
        USER
    }

    println("请输入用户名：")
    val username = readLine()
    println("请输入密码：")
    val passwd = readLine()

    if(mode == DEBUG && username == ADMIN_USER && passwd == ADMIN_PASSWD) {
        println("管理员登录成功")
    }else if(username == USERNAME && passwd == PASSWORD){
        println("登录成功")
    }else{
        println("登录失败")
    }

}